// 创建对象
var listEle = new listEX();
var contentEle = new contentEX();
var ipc = Require('electron').ipcRenderer;
var fs = Require('fs');


var app = Require('electron').remote;
const appPath = app.app.getPath('appData') + '\\Requester';



// 渲染页面
$('#content').append(contentEle.render());
$('#list').append(listEle.render());
// 点击事件绑定
var setConfig = function (e) {
    contentEle.set(e.config);
};
// 获取列表事件
var getAllDB = function (callback) {
    dbConfig.getAllDB(function (error, docs) {
        if (error) {
            alert(error);
        } else {
            if ($('#pageLoad').length != 0) {
                setTimeout(function () {
                    $('#pageLoad').css('opacity', '0');
                    setTimeout(function () {
                        $('#pageLoad').remove();
                    }, 500);
                }, 300);
            };
            listEle.clear();
            contentEle.clear();
            setTimeout(function () {
                listEle.append(docs, setConfig);
                if (callback) {
                    callback();
                };
            }, 300);
        };
    });
};
// 刷新事件
var clearContent = function () {
    contentEle.clear();
    listEle.unActive();
};
// 绑定选中事件
listEle.on('active', setConfig);
// 创建事件绑定
contentEle.on('created', function (event, doc) {
    listEle.addItem(doc, setConfig, (e) => {
        listEle.active(e.id);
    });
});
// 更新事件绑定
contentEle.on('updated', function (event, doc) {
    listEle.upDateConfig(event.setDate.id, doc);
});
// 删除事件绑定
contentEle.on('deleted', getAllDB);

contentEle.on('Changed', function (data) {
    data = JSON.stringify(data, null, 4);
    fs.writeFile(appPath + '/data/lastControl.json', data, function (err) {
        if (err) {
            console.error("文件写入失败");
        } else {
            ipc.send('change-config', null);
        }
    });
});

var __DBID__ = null;

// 清空事件绑定
listEle.on('remove', function () {
    contentEle.clear();
});
fs.readFile(appPath + '/data/lastControl.json', function (err, data) {
    if (err) {
        alert('请先创建项目');
        fs.writeFile(appPath + '/data/lastControl.json', JSON.stringify({ id: null }, null, 4), function (err) { });
        getAllDB(function () { });
    } else {
        var data = JSON.parse(data.toString());
        __DBID__ = data.id;
        getAllDB(function () {
            listEle.active(data.id);
        });
    };
});




$('#newButton').click(clearContent);
$('#Refresh').click(getAllDB);